package trombinoscope.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.sql.*;
import javax.servlet.ServletContext;
import trombinoscope.modele.Etudiant;
import trombinoscope.modele.EtudiantDAO;

/**
 *
 * @author jef
 */
public class ServletModifierFiche2 extends HttpServlet {

    public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
    {
        try 
        {
            response.setContentType("text/html");
            PrintWriter out = response.getWriter();
        
            boolean statut = (Boolean)getServletContext().getAttribute("adminUser"); // récupération du statut
           
            String idEtudiant = request.getParameter("idetudiant");
            Integer idEtudiantInt = Integer.parseInt(idEtudiant);
            
            Etudiant etudiantConcerne = EtudiantDAO.getEtudiantByIdEtudiant(idEtudiantInt);
           
            // récupération des valeurs du formulaire de modification de la fiche
            
            String nom = request.getParameter("nomEtudiant");
            String prenom = request.getParameter("prenomEtudiant");
            String dateNaissance = request.getParameter("dateNaissance");
            String adresse = request.getParameter("adresse");
            String telDomicile = request.getParameter("numDomicile");
            String telPortable = request.getParameter("numPortable");
            String mail = request.getParameter("mail");
            String password = request.getParameter("password");
            
            if(Etudiant.isEtudiantExistant(idEtudiantInt, nom, prenom, adresse, telDomicile, telPortable, mail) == true)
            {
		out.println("<script type='text/javascript'> alert('L'étudiant modifié existe déjà !') </script>");
                out.println("<script type='text/javascript'> document.location.href='./ficheEtudiant.jsp' </script>");
            }
            
            else
            {
                etudiantConcerne.setNom(nom);
                etudiantConcerne.setPrenom(prenom);
                etudiantConcerne.setDate_naissance(dateNaissance);
                etudiantConcerne.setAdresse(adresse);
                etudiantConcerne.setNumTelDomicile(telDomicile);
                etudiantConcerne.setNumTelPortable(telPortable);
                etudiantConcerne.setEmail(mail);
                etudiantConcerne.setMotDePasse(password);
            
                etudiantConcerne.save();
            
                out.println("<script type='text/javascript'> alert('La fiche a bien été modifiée.') </script>");
                out.println("<script type='text/javascript'> document.location.href='./ficheEtudiant.jsp' </script>");
               
               // récupèration du contexte de l'application
                ServletContext context = getServletContext();
                    
                context.setAttribute("etudiant", etudiantConcerne);
                context.setAttribute("isAdminUser", statut);                     
                //request.getRequestDispatcher("ficheModifEtudiant.jsp").forward(request, response);           
            }            
        }         
        catch (SQLException e) 
        {	
            response.setContentType("text/html");
            PrintWriter out = response.getWriter();
            out.println("<p><strong> Erreur avec la base. </strong>");
            out.println("<p> <a href= \"./trombiListeEtudiants.jsp \"></a> </p>");
            out.println("Cause de l'erreur : " + e.getCause());
		
        }
    }

}
